package com.yanqu.road.entity.activity.stronghold;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.player.UserBaseInfo;

import java.util.ArrayList;
import java.util.List;

@FieldTypeAnnotation(tableName = "t_u_activity_stronghold_wild_report")
public class StrongholdWildReport extends DataObject {
    @FieldTypeAnnotation(select = true, update = true, desc = "活动id")
    private int activityId;
    @FieldTypeAnnotation(select = true, update = true, desc = "玩家id")
    private long userId;
    @FieldTypeAnnotation(desc = "敌方区服id")
    private long enemyServerId;
    @FieldTypeAnnotation
    private long enemyUserId;
    @FieldTypeAnnotation(desc = "敌方信息")
    private UserBaseInfo enemyUserBaseInfo;
    @FieldTypeAnnotation(desc = "战报得失")
    private int rewardPoints;
    @FieldTypeAnnotation
    private List<Integer> boxList = new ArrayList<>();
    @FieldTypeAnnotation(desc = "时间")
    private long reportTime;
    @FieldTypeAnnotation(desc = "是否胜利")
    private boolean win;
    @FieldTypeAnnotation
    private int type;
    private boolean read;


    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public long getEnemyServerId() {
        return enemyServerId;
    }

    public void setEnemyServerId(long enemyServerId) {
        this.enemyServerId = enemyServerId;
    }

    public UserBaseInfo getEnemyUserBaseInfo() {
        return enemyUserBaseInfo;
    }

    public void setEnemyUserBaseInfo(UserBaseInfo enemyUserBaseInfo) {
        this.enemyUserBaseInfo = enemyUserBaseInfo;
    }

    public int getRewardPoints() {
        return rewardPoints;
    }

    public void setRewardPoints(int rewardPoints) {
        this.rewardPoints = rewardPoints;
    }

    public List<Integer> getBoxList() {
        return boxList;
    }

    public void setBoxList(List<Integer> boxList) {
        this.boxList = boxList;
    }

    public long getReportTime() {
        return reportTime;
    }

    public void setReportTime(long reportTime) {
        this.reportTime = reportTime;
    }

    public boolean isWin() {
        return win;
    }

    public void setWin(boolean win) {
        this.win = win;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public long getEnemyUserId() {
        return enemyUserId;
    }

    public void setEnemyUserId(long enemyUserId) {
        this.enemyUserId = enemyUserId;
    }

    public boolean isRead() {
        return read;
    }

    public void setRead(boolean read) {
        if (this.read != read) {
            this.read = read;
            setUpdateOption();
        }
    }
}
